package main

import "fmt"

func main() {
	res := sum(1, 2)
	fmt.Println(res) //第四个输出 5
}

func sum(n1 int32, n2 int32) int32 {
	//defer后面的语句会压入别的栈，等函数执行完才立马执行，遵守先入后出的原则
	//可以用来做资源释放
	defer fmt.Println("sum 1,n1=", n1, "n2=", n2) //第三个输出 n1=1,n2=2
	defer fmt.Println("sum 2,n1=", n1, "n2=", n2) //第二个输出 n1=1,n2=2

	n1++
	n2++
	res := n1 + n2
	fmt.Println("sum 3 res=", res) //第一个输出 结果5
	return res
}
